package cn.core.dirs.service.intf;

import cn.core.dirs.eo.Files;
import cn.core.dirs.qo.FilesQO;
import cn.core.dirs.vo.FilesVO;
import cn.core.tool.util.Paging;
import cn.core.tool.util.Param;

import java.util.Collection;

/**
 * 文件 服务接口
 */
public interface IFilesService {

  /**
   * 文件 >>> 保存
   */
  public Files save(Files eo) throws Exception;

  /**
   * 文件 >>> 批量保存
   */
  public Collection<Files> saveBatch(Collection<Files> eos) throws Exception;

  /**
   * 文件 >>> 修改
   */
  public Files update(Files eo) throws Exception;

  /**
   * 文件 >>> 批量修改
   */
  public Collection<Files> updateBatch(Collection<Files> eos) throws Exception;

  /**
   * 文件 >>> 删除
   */
  public void remove(Files eo) throws Exception;

  /**
   * 文件 >>> 批量删除
   */
  public void removeBatch(Collection<Files> eos) throws Exception;

  /**
   * 文件 >>> 数据量
   */
  public Long count(FilesQO qo) throws Exception;

  /**
   * 文件 >>> 主键查询
   */
  public Files pk(FilesQO qo) throws Exception;

  /**
   * 文件 >>> 查询
   */
  public Collection<Files> query(FilesQO qo) throws Exception;

  /**
   * 文件 >>> 分页
   */
  public Paging<Files> paging(Param<FilesQO> param) throws Exception;

  /**
   * 文件 >>> 业务数据量
   */
  public Long countVo(FilesQO qo) throws Exception;

  /**
   * 文件 >>> 业务主键查询
   */
  public FilesVO pkVo(FilesQO qo) throws Exception;

  /**
   * 文件 >>> 业务查询
   */
  public Collection<FilesVO> queryVo(FilesQO qo) throws Exception;

  /**
   * 文件 >>> 业务分页
   */
  public Paging<FilesVO> pagingVo(Param<FilesQO> param) throws Exception;

}
